home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CD ROM Paradise Collection 4
/
CD ROM Paradise Collection 4 1995 Nov.iso
/
program
/
swagg_m.zip
/
MATH.SWG
/
0088_Staircase Problem.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-03-03
|
998b
|
40 lines
{
> Can anyone give me a hand with this problem please! I needs to
> write a recursive function that will compute the number of possible
> ways a person can go up a stair of n steps if that person can take 1,
> 2, or 4 steps in one stride. Thanks in advance!
>
From: R.A.M.vGeel@kub.nl (GEEL R.A.M.VAN)
}
program StairWay;
var
Total : longint;
NrOfSteps : integer;
procedure ClimbStairs(Steps: integer);
begin
if Steps - 1 = 0 then inc(Total) { last 1-step }
else
if Steps > 0 then
begin
if (Steps - 2) = 0 then inc(Total) { last 2-step }
else
if (Steps - 2 > 0) then ClimbStairs(Steps - 2);
if (Steps - 4) = 0 then inc(Total) { last 4-step }
else
if (Steps - 4) > 0 then ClimbStairs(Steps - 4);
end;
end;
begin
Total := 0;
write('Give number of steps: ');
readln(NrOfSteps);
ClimbStairs(NrOfSteps);
writeln('Total possibilities: ', Total);
end.